home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Aminet / dev / c / ctags.lha / ctags-3.0.3 / ctags.h < prev    next >
C/C++ Source or Header  |  1999-02-17  |  2KB  |  82 lines

  1. /*****************************************************************************
  2. *   $Id: ctags.h,v 7.1 1998/12/07 01:38:00 darren Exp $
  3. *
  4. *   Copyright (c) 1996-1998, Darren Hiebert
  5. *
  6. *   This source code is released for free distribution under the terms of the
  7. *   GNU General Public License.
  8. *
  9. *   This module is a global include file.
  10. *****************************************************************************/
  11. #ifndef _CTAGS_H
  12. #define _CTAGS_H
  13.  
  14. /*============================================================================
  15. =   Include files
  16. ============================================================================*/
  17. #include "general.h"
  18.  
  19. #include <ctype.h>    /* to define isalnum() and isalpha() */
  20.  
  21. /*============================================================================
  22. =   General defines
  23. ============================================================================*/
  24. #ifndef PROGRAM_VERSION
  25. # define PROGRAM_VERSION    "3.0.3"
  26. #endif
  27. #define PROGRAM_NAME    "Exuberant Ctags"
  28. #define PROGRAM_URL    "http://darren.hiebert.com/ctags/"
  29. #define AUTHOR_NAME    "Darren Hiebert"
  30. #define AUTHOR_EMAIL    "darren@hiebert.com"
  31.  
  32. /*============================================================================
  33. =   Macros
  34. ============================================================================*/
  35.  
  36. /*  Is the character valid as a character of a C identifier?
  37.  */
  38. #define isident(c)    (isalnum(c) || (c) == '_')
  39.  
  40. /*  Is the character valid as the first character of a C identifier?
  41.  */
  42. #define isident1(c)    (isalpha(c) || (c) == '_' || (c) == '~')
  43.  
  44. /*============================================================================
  45. =   Data declarations
  46. ============================================================================*/
  47.  
  48. enum eCharacters {
  49.     /*  White space characters.
  50.      */
  51.     SPACE    = ' ',
  52.     NEWLINE    = '\n',
  53.     CRETURN    = '\r',
  54.     FORMFEED    = '\f',
  55.     TAB        = '\t',
  56.     VTAB    = '\v',
  57.  
  58.     /*  Some hard to read characters.
  59.      */
  60.     DOUBLE_QUOTE  = '"',
  61.     SINGLE_QUOTE  = '\'',
  62.     BACKSLASH      = '\\',
  63.  
  64.     STRING_SYMBOL = ('S' + 0x80),
  65.     CHAR_SYMBOL      = ('C' + 0x80)
  66. };
  67.  
  68. typedef enum eLangType {
  69.     LANG_AUTO = -2,        /* automatically determine language */
  70.     LANG_IGNORE = -1,        /* ignore file (unknown/unsupported language) */
  71.     LANG_C,
  72.     LANG_CPP,
  73.     LANG_EIFFEL,
  74.     LANG_FORTRAN,
  75.     LANG_JAVA,
  76.     LANG_COUNT            /* count of languages */
  77. } langType;
  78.  
  79. #endif    /* _CTAGS_H */
  80.  
  81. /* vi:set tabstop=8 shiftwidth=4: */
  82.